package cn.zyjblogs.netty.buf;

import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;

public class NettyByteBuf01 {
    public static void main(String[] args) {
        /**
         * 创建一个ByteBuf
         * 说明
         * 1、创建一个对象，该对象包含一个数组arr  是一个byte[10]
         * 2、在netty中不需要使用flip进行反转缓冲区
         *      底层维护了readerIndex 和writerIndex
         * 3、通过 readerIndex 、writerIndex 和capacity，将buffer分成了三个区域
         *  0 --- readerIndex  已经读取的区域
         *  readerIndex --- writerIndex 可读区域
         *  writerIndex --- capacity  可写区域
         */
        ByteBuf buf = Unpooled.buffer(10);
        for (int i = 0; i < 10; i++) {
           buf.writeByte(i);
        }
        System.out.println("capacity = "+buf.capacity());
//        for (int i = 0; i < buf.capacity(); i++) {
//            System.out.println(buf.getByte(i));
//        }
        for (int i = 0; i < buf.capacity(); i++) {
            System.out.println(buf.readByte());
        }
    }
}
